/* eslint-disable no-unused-labels */
/*
 * @Author: 袁十一
 * @Date: 2023-09-25 13:52:32
 * @LastEditTime: 2023-10-10 17:30:31
 * @LastEditors: Please set LastEditors
 * @Description:axios封装
 * @FilePath: \Vue3_admin_template\src\util\request.ts
 * 初心不变，意志坚定
 */
import axios from 'axios'
import { ElMessage } from 'element-plus'
import useUserStore from '@/store/modules/user'
// 创建axios实例
const request = axios.create({
  baseURL: import.meta.env.VITE_APP_BASE_API,
  timeout: 5000,
})
// 请求拦截器
request.interceptors.request.use((config) => {
  // console.log(config);
  const useStore = useUserStore()
  if (useStore.token) {
    config.headers.token = useStore.token
  }
  return config
})
// 响应拦截器
request.interceptors.response.use((response) => {
  return response.data
}),
  (error: any) => {
    let msg = ''
    const staus = error.response.staus
    switch (staus) {
      case 401:
        msg: 'token过期'
        break
      case 403:
        msg: '无权访问'
        break
      case 404:
        msg = '请求地址错误'
        break
      case 500:
        msg: '服务器出现问题'
        break
      default:
        msg = '无网络'
    }
    ElMessage({
      type: 'error',
      message: msg,
    })
    return Promise.reject(error)
  }
export default request
